Security thread for protecting media content

ABSTRACT

Disclosed herein is a system and method for protecting copyrighted media content. The copyright and playback management information is embedded into at least one data field of the media content. The media content is then encoded for a serial copy management system (SCMS) that utilizes the copyright and playback management information to ensure the appropriate copyright protection of the media content based at least in part on the embedded copyright and playback management information.

FIELD

Embodiments of the present technology relates generally to the field ofprotection of media content.

BACKGROUND

In general, media content may include audible, visual, or a combinationthereof. For example, audio media may be a recording such as a speech,song, sound effect, chime, alarm, or the like which may be presented inan audible manner. A visual media may be a photograph, page of text,block of text, single word, image, or other static or dynamic objectthat may be presented in a visual manner. The visual method for displaymay be a graphic user interface (GUI), or the like. A combination ofaudio/visual may include static or dynamic visual media that is in someway associated with audio media. One example of audio/visual media is amovie. Another example would be a slideshow with an associated text oraudio recording.

Presently, the Internet is replete with web pages and other mediacontent that may include audio, visual, and combinations thereof. Forexample, a web page may include a photo (visual media), a logo (visualmedia), a sound file (audio media), text (visual media), etc. Similarly,the web page may include a link to an audio file, such as an MP3 file,and/or a video file such as a photograph, slideshow, text document, andthe like. Further, the web page link may include an audio-video filesuch as a movie file, etc.

In many cases, the media content will include some type of copyrightprotection. Basically, the copyright protection allows the owner of thecopyrighted media content to control distribution of the media contentand receive the proper copyright royalties for the use of the copyrightprotected media content. For example, if the media content is copyrightprotected, copyright royalties may be required by anyone copying,transmitting or subsequently downloading the protected media content. Inanother example, the media content may be copyright protected and theowner may not want another to download, copy or distribute the mediacontent.

SUMMARY

Disclosed herein is a system and method for utilizing a security threadfor protecting copyrighted media content. The copyright and playbackmanagement information security thread is embedded into at least onedata field of the media content. The media content is then encoded for aserial copy management system (SCMS) that utilizes the copyright andplayback management information to ensure the appropriate copyrightprotection of the media content based at least in part on the embeddedcopyright and playback management information.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of various exemplary functional components ofa copyright compliance mechanism (CCM) in accordance with an embodimentof the present invention.

FIG. 2 is a block diagram of a custom media content library utilized tosecure media content, in accordance with an embodiment of the presenttechnology

FIG. 3 is a block diagram of a system for enhancing copyright revenuegeneration, in accordance with an embodiment of the present invention.

FIG. 4 is a block diagram of a flow chart of a method for enhancingcopyright generation, in accordance with an embodiment of the presentinvention.

FIG. 5 is a block diagram of a web page in accordance with an embodimentof the present invention.

FIG. 6 is a flow chart of a method for utilizing a security thread forprotecting copyrighted media content in accordance with an embodiment ofthe present invention.

FIG. 7 is a block diagram of an exemplary computer system in accordancewith one embodiment of the present invention.

The drawings referred to in this description should be understood as notbeing drawn to scale except if specifically noted.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments of the presenttechnology, examples of which are illustrated in the accompanyingdrawings. While the technology will be described in conjunction withvarious embodiment(s), it will be understood that they are not intendedto limit the present technology to these embodiments. On the contrary,the present technology is intended to cover alternatives, modificationsand equivalents, which may be included within the spirit and scope ofthe various embodiments as defined by the appended claims.

Furthermore, in the following description of embodiments, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present technology. However, the present technologymay be practiced without these specific details. In other instances,well known methods, procedures, components, and circuits have not beendescribed in detail as not to unnecessarily obscure aspects of thepresent embodiments.

In overview, without utilizing a technological measure to protectcopyrighted media, proof of violation of one or more copyright laws isdifficult to accomplish. In other words, without a technological measurein place, it is hard to make a convincing argument that a copyright hasbeen violated when no measures have been taken to protect it. Incontrast, a section 12 violation “circumventing a technological measureto protect copyright” is much easier to prove and therefore moreenforceable. Further, a section 12 violation is a clearly defined dollarminimum per device fine. For example, the present utilization of asecurity thread such as altering or removing the fine could be a2,500.00 dollar fine.

By utilizing the technology described herein, that is, by using embeddedsecurity technological measures to control access to the work, the ownerof the copyright or the service providing the copyrighted material isclearly taking affirmative measures to protect the copyright. As such,section 12 of the copyright act is invoked. In other words, thetechnology described herein is a direct method by which copyright can bepreserved.

The following discussion begins with a description of a copyrightcompliance mechanism (CCM) and a number of embodiments for providingcopyright information with the media content. The discussion thendiscusses the presentation and protection of the media content and endswith a description of a computer system upon which one or more of thediscussed embodiments may be utilized, stored or input thereto.

Copyright Compliance Mechanism

FIG. 1 is a block diagram of an exemplary copyright compliance mechanism(CCM) 100, for controlling distribution of, access to, and/or copyrightcompliance of media content files, in accordance with an embodiment ofthe present invention. In one embodiment, CCM 100 contains one or moresoftware components and instructions for enabling compliance with DMCA(digital millennium copyright act) restrictions and/or RIAA (recordingindustry association of America) licensing agreements regarding mediacontent files. In one embodiment, although copyright is used in thedescription, another type of usage protection including copy, transferor playback limitations may also be utilized herein. In other words, inone embodiment, the present technology is well suited for numerous typesof usage protection including, but not limited to, copyright protection.In general, the usage protection allows the owner of the usagerestricted media content to control distribution of the media content.

In one embodiment, CCM 100 is installed into each client computersystem. Alternatively, CCM 100 can be, in another embodiment, externallydisposed and communicatively coupled with a client computer system. Inone embodiment, portions of components, entire components and/orcombinations of components of CCM 100 can be readily updated to reflectchanges or developments in the DMCA, changes or developments incopyright restrictions and/or licensing agreements that pertain to anymedia content file, changes in current media content player applicationsand/or the development of new media content player applications.

Referring to FIG. 1, in one embodiment, CCM 100 is shown to includeinstructions 101 for enabling a client computer system to interact witha web server or content server on a network. CCM 100 also includes, auser ID generator 102, for generating a user ID or user key, and one ormore cookie(s) which contain(s) information specific to the user and theuser's computer system. In one embodiment, the presence of a validcookie(s) and a valid user ID/user key are verified by a web serverbefore the remaining components of a CCM 100 can be installed.Additionally, the user ID/user key can contain, but is not limited to,the user's name, the user's address, the user's credit card number,verified email address, and an identity (username) and password selectedby the user. Furthermore, the cookie can contain, but is not limited to,information specific to the user, information regarding the user'scomputer system, e.g., media content applications thereon, a uniqueidentifier such as a MAC (machine address code) address and/or an IPaddress, and other information specific to the user and the computersystem operated by the user. The information regarding the clientcomputer system, the user of the system, and an access key describedherein can be collectively referred to as authorization data.

Advantageously, with information regarding the user and the user'scomputer system, a web server can determine when a user of one computersystem has given their username and password to another user usinganother computer system. If the web server detects unauthorized sharingof usernames and passwords, it can block the computer system from futureaccess to copyrighted media content available through the web server forany specified period of time, e.g., for a matter of minutes or hours tomonths, years, or longer.

Still referring to FIG. 1, CCM 100 further includes one or morecoder/decoders (codec) 103 that, in one embodiment, is/are adapted toperform, but is/are not limited to, encoding/decoding of media contentfiles, compressing/decompressing of media content files, detecting thatdelivered media content files are encrypted as prescribed by CCM 100. Inthe present embodiment, coder/decoder 103 can also extract key fieldsfrom a header attached to each media content file for, in part,verification of the media content file. In one embodiment, codec 103 canalso perform a periodic and repeated check of the media content file,while the media content file is passed to the media content playerapplication, e.g., in a frame by frame basis or in a buffer by bufferbasis, to ensure that CCM 100 rules are being enforced at any particularmoment during media content playback. It is noted that differing codec103 can be utilized in conjunction with various types of copyrightedmedia content including, but not limited to, audio files, video files,graphical files, alphanumeric files and the like, such that any type ofmedia content file can be protected in accordance with embodiments ofthe present invention.

With reference still to FIG. 1, CCM 100 also includes one or more agentprograms 104 which are configured to engage in dialogs and negotiate andcoordinate transfer of information between a computer system, a server,and/or media content player applications, with or without recordingfunctionality, that are operable within a client computer system. Inaddition, agent program 104 can be configured to maintain system state,verify that other components are being utilized simultaneously, to beautonomously functional without knowledge of the client, and can alsopresent messages, e.g., error messages, media content information,advertising, etc., via a display window or electronic mail. This enablesdetection of proper skin implementation and detection of thoseapplications that are running It is noted that agent programs are wellknown in the art and can be implemented in a variety of ways inaccordance with the present embodiment.

CCM 100 also includes one or more system hooks 105. A system hook 105is, in one embodiment, a library that is installed in a computer systemand intercepts system wide events. For example, a system hook 105, inconjunction with skins 106, can govern certain properties and/orfunctionalities of media content player applications operating withinthe client computer system, including, but not limited to, mouse clickshortcuts, keyboard shortcuts, standard system accelerators, progressbars, save functions, pause functions, rewind functions, skip trackfunctions, forward track preview, copying to CD, copying to a portableelectronic device, and the like.

It is noted that the term governing, can refer to a disabling,deactivating, enabling, activating, etc., of a property or function.Governing can also refer to an exclusion of that function or property,such that a function or property may be operable but unable to performin the manner originally intended. For example, during playing of amedia content file, the progress bar may be selected and moved from onelocation on the progress line to another without having an effect on theplay of the media content file.

In one embodiment, system hook 105 compares the information for themedia content player application operating in client computer systemwith a list of “signatures” associated with known media contentrecording applications. In one embodiment, the signature can be, but isnot limited to being, a unique identifier of a media content playerapplication and which can consist of the window class of the applicationalong with a product name string which is part of the window title forthe application. Advantageously, when new media content playerapplications are developed, their signatures can be readily added to thesignature list via an update of CCM 100 described herein.

The following C++ source code is exemplary implementation of the portionof a system hook 105 for performing media content player applicationdetection, in accordance with an embodiment of the present invention.

int IsRecorderPresent(TCHAR * szAppClass,  TCHAR * szProdName) { TCHARszWndText[_MAX_PATH]; /* buffer to receive title string for window */HWND hWnd; /* handle to target window for operation */ int nRetVal; /*return value for operation */ /* initialize variables */ nRetVal = 0; if( _tcscmp(szAppClass, _T(“#32770”))  == 0) { /* attempt to locate dialogbox with specified window title */ if ( FindWindow((TCHAR *) 32770,szProdName)  != (HWND) 0) { /* indicate application found */ nRetVal =1; } } else { /* attempt to locate window with specified class */ if ((hWnd = FindWindow(szAppClass, (LPCTSTR) 0))  != (HWND) 0) { /* attemptto retrieve title string for window */ if ( GetWindowText(hWnd,szWndText, _MAX_PATH)  != 0) { /* attempt to locate product name withintitle string */ if ( _tcsstr(szWndText, szProdName)  != (TCHAR *) 0) {/* indicate application found */ nRetVal = 1; } } } } /* return tocaller */ return nRetVal; }

In one embodiment, system hook 105 can also selectively suppresswaveform input/output operations to prevent recording of copyrightedmedia content on a client computer system. For example, system hook 105,subsequent to detection of bundled media content player applicationsoperational in a client computer system can stop or disrupt the playingof a media content file. This can be accomplished, in one embodiment, byredirecting and/or diverting certain data pathways that are commonlyused for recording, such that the utilized data pathway is governed byCCM 100. This can be performed within a driver shim for a standardoperating system waveform output device. Moreover, the driver shim maybe configured to appear as the default waveform audio device to clientlevel application programs. Thus, requests for processing of waveformaudio input and/or output will pass through the driver shim prior tobeing forwarded to the actual waveform audio driver. Such waveforminput/output suppression can be triggered by other components of CCM100, e.g., agent 104, to be active when a recording operation isinitiated by a client computer system during the play back of mediacontent files which are subject to the DMCA. The driver shim can beimplemented for nearly any media content in nearly any format including,but not limited to, audio media content files and audio input and outputdevices.

The following C++ source code is an exemplary implementation of theportion of a system hook 105 for diverting and/or redirecting certaindata pathways that are commonly used for recording of media content, inaccordance with an embodiment of the present invention.

DWORD _stdcall widMessage(UINT uDevId,  UINT uMsg,  DWORD dwUser,  DWORDdwParam1,  DWORD dwParam2) { BOOL bSkip; /* flag indicating operation tobe skipped */ HWND hWndMon; /* handle to main window for monitor */DWORD dwRetVal; /* return value for operation */ /* initialize variables*/ bSkip = FALSE; dwRetVal = (DWORD) MMSYSERR_NOTSUPPORTED; if (uMsg ==WIDM_START) { /* attempt to locate window for monitor application */ if( (hWndMon = FindMonitorWindow( ))  != (HWND) 0) { /* obtain setting fordriver */ bDrvEnabled = ( SendMessage(hWndMon, uiRegMsg, 0, 0) == 0) ?FALSE : TRUE; } if (bDrvEnabled == TRUE) { /* indicate error inoperation */ dwRetVal = MMSYSERR_NOMEM; /* indicate operation to beskipped */ bSkip = TRUE; } } if (bSkip == FALSE) { /* invoke entry pointfor original driver */ dwRetVal = CallWidMessage(uDevId, uMsg, dwUser,dwParam1, dwParam2); } /* return to caller */ return dwRetVal; }

When properly configured, system hook 105 can govern nearly any functionor property within nearly any media content player application that maybe operational within a client computer system. In one embodiment,system hook 105 is a DLL (dynamic link library) file. It is furthernoted that system hooks can be implemented in nearly any operatingsystem.

In FIG. 1, CCM 100 also includes one or more skins 106, designed to beinstalled in a client computer system. In one embodiment, skins 106 areutilized to assist in client side compliance with the DMCA regardingcopyrighted media content. Skins 106 are customizable interfaces that,in one embodiment, are displayed on a display device of computer systemand provide functionalities for user interaction of delivered mediacontent. Additionally, skins 106 can also provide a display ofinformation relative to the media content file including, but notlimited to, song title, artist name, album title, artist bio, and otherfeatures such as purchase inquiries, advertising, and the like.

Furthermore, when system hook 105 is unable to govern a function of themedia content player application operable on a client computer systemsuch that client computer system could be in non-compliance with DMCAand/or RIAA restrictions, a skin 106 can be implemented to providecompliance.

Differing skins 106 can be implemented depending upon the DMCA and/orRIAA restrictions applicable to each media content file. For example, inone embodiment, a skin 106 may be configured for utilization with amedia content file protected under a non-interactive agreement and maynot include a pause function, a stop function, a selector function,and/or a save function, etc. In another embodiment, skin 106 may beconfigured to be utilized with a media content file protected under aninteractive “no save” agreement such that skin 106 may include a pausefunction, a stop function, a selector function, and for those mediacontent files having an interactive with “save” agreement, a save or aburn to CD function.

Still referring to FIG. 1, each skin 106 can have a unique name andsignature and can be implemented, in part, through the utilization of anMD (message digest) 5 hash table or similar algorithm. An MD 5 hashtable can be, in one implementation, a check-sum algorithm. Sincemodification of the skin would change the check sum and/or MD 5 hash,without knowledge of the MD 5 hash table, changing the name ormodification of the skin may simply serve to disable the skin, inaccordance with one embodiment of the present invention. Since CCM 100verifies skin 106, MD 5 hash tables advantageously provide a deterrentagainst skin name changes and/or modifications made thereto.

In one embodiment, CCM 100 also includes one or more custom mediacontent device driver(s) 107 for providing an even greater measure ofcontrol over the media content stream while increasing compliancereliability. A client computer system is configured to utilize a custommedia content device application, e.g., a custom audio deviceapplication, a custom video device application, etc., that is emulatedby a custom media content device driver 107. With reference to audiomedia content, the emulation is performed in a waveform audio driverassociated with a custom audio device. Driver 107 is configured toreceive a media content file being outputted by the system prior to themedia content file being sent to a media content output device, e.g., avideo card for video files or a sound card for audio files, etc. In oneembodiment, client computer system is configured with a custom mediacontent device driver 107 as the default device driver for media contentfile output. In one embodiment, an existing GUI (graphical userinterface) can be utilized or a GUI can be provided, e.g., byutilization of a skin 106 or a custom web based player application, forforcing or requiring the system to have driver 107 as the defaultdriver.

Therefore, when a media content file is received by the system, themedia content file is playable, provided the media content file passesthrough the custom media content device application, emulated by custommedia content device driver 107, prior to being outputted. However, ifan alternative media content player application is selected, deliveredmedia content files will not play on the system.

Thus, secured media content player applications would issue a mediacontent request to the driver for the custom media content device whichthen performs necessary media content input suppression, e.g., waveformsuppression for audio files, prior to forwarding the request to thedefault waveform audio driver for audio files.

It is noted that requests for non-restricted media content files canpass directly through custom media content device driver 107 to awaveform audio driver operable on the system. It is further noted thatfor either secured media content or non-restricted media content, e.g.,audio media content files, waveform input suppression can be triggeredby other components of CCM 100, e.g., agents 104, system hooks 105, andskins 106, or a combination thereof, to be active when a recordingoperation is initiated simultaneously with playback of secured mediacontent files.

Advantageously, by virtue of being configured with a custom mediacontent device, emulated by a custom media content device driver 107, asthe default device driver, those media content player applications thatrequire their particular device driver to be the default driver, e.g.,Total Recorder, etc., are rendered non-functional for secured music.Further advantageous is that an emulated custom media content deviceprovides no native support for those media content player applicationsused as a recording mechanism, e.g., DirectSound capture, etc., that areable to bypass user-mode drivers for most media content devices.Additionally, by virtue of the media content being sent through devicedriver 107, thus effectively disabling unauthorized saving/recording ofthe media content files; media content files that are delivered in asecured delivery system do not have to be encrypted to providecompliance with copyright restrictions and/or licensing agreements,although, in another embodiment, they still may be encrypted.

Custom Media Content Library

A subversive and illegal technique for capturing outgoing copyrightmedia content data is addressed and overcome herein. Specifically, thepresent technology stops a copyright-disregarding recording applicationfrom establishing a system hook for the purpose of generating an illegalcopy of the copyright media content. That is, the present technologyredirects calls made by secure media content playback applications tounsecure standard operating system services used for rendering the rawmedia content data. In so doing, the system hook is no longer able tointercept the raw media content data and therefore no longer able todeliver the intercepted data to illicit recording application 290.

Additionally, since the present technology implements a custom mediacontent library utilizing a new pathway at the CCM-enabledplayback/recording application to circumvent the illegal copyingtechniques without interfering or disrupting the commonly used pathway,the computer system maintains the capability of delivering media contentthat may be legally copied to the recording application while protectingcopyrighted media content from being illegally copied by the same, oranother, recording application.

With reference now to FIG. 2, a block diagram of a computer system 200having a custom media content library to secure media content is shownin accordance with an embodiment of the present technology. In oneembodiment, FIG. 2 includes a number of distinct components and devicesfor clarity in the discussion. However, in another embodiment, more orfewer components and devices may be present. Further, in yet anotherembodiment, the components and devices may be combined into one or morecomponents able to perform a number of the actions shown in FIG. 2.

In one embodiment, by utilizing the media content library 212 inconjunction with the CCM-enabled playback/recording application 205 andthe CCM 100, secure media content may be rendered, played, recorded andcopied without the data being in an unsecure environment. In addition,due to the secure environment, in one embodiment no encryption of themedia content is necessary.

For example, as illustrated in FIG. 2, when a hooked system service,e.g., OS media content subsystem 215, is called, the system hook 285will gain control of the commonly used pathway 207 first, allowing therecording application 290 to perform application-specific processingbefore passing control to the actual OS media content subsystem 215. Thesystem hook 285 will thus allow the recording application 290 to captureoutput data without the use of a virtual media content device driver orplug-in module.

However, embodiments described herein, overcome this illegal capturetechnique by incorporating a media content library 212 of media contentfunctions that make use of lower-level components in the media contentsubsystem, e.g., media content filter driver 220, to render secure mediacontent data. These lower-level components are not affected by thesystem hooks 285 that are used by recording applications, and thuscopyright protected media content can pass securely from the CCM-enabledplayback/recording application 205 to a part of the media contentsubsystem, e.g., the media content filter driver 220 that is protectedby the existing CCM, e.g., CCM 100.

For example, in one embodiment, custom media content library 212provides a secure path for the media content as it is delivered from theCCM-enabled playback/recording application 205 to the operating system(OS) media content subsystem 215. In one embodiment, media contentlibrary 212 is able to securely receive the media content from theCCM-enabled playback/recording application 205 because it is linkeddirectly into the CCM-enabled playback/recording application 205. Thatis, media content library 212 is not a dll and is not implemented as astandalone object. In other words, because media content library 212 islinked directly into the CCM-enabled playback/recording application 205,a system hook 285 is not able to hook media content as it is passed fromthe CCM-enabled playback/recording application 205 to the media contentlibrary 212.

In addition, in one embodiment, the media content library 212 operatesbelow both the kernel mode and the driver level. As such, during thetransmission of the digital media content from the media content library212 to the media content filter driver 220 via new pathway 213, there isno unsecure kernel mode or driver level mode pathways for system hook285 to “hook”.

For example, instead of using the commonly used pathway 207 to delivercopyright protected media content, such as raw wave data, to an OS mediacontent subsystem 215 for rendering, the CCM-enabled playback/recordingapplication 205 will utilize custom media content library 212 togenerate a new pathway 213 and deliver the raw wave data directly to themedia content filter driver 220. In other words, in one embodiment, theutilization of media content library 212 will provide more generalcontrol over the media content stream while increasing compatibility andreliability of the overall solution. For example, media content library212 would involve the configuration of new pathway 213 within thecomputer system 200 to securely deliver the media content to a mediacontent filter driver 220 at the kernel level.

At the same time, the CCM-enabled playback/recording application 205will inform CCM 100, via communication pathway 214, that copyrightprotected raw data will be received at media content filter driver 220and that protection is to be enabled at the kernel mode. As describedherein, the CCM 100 is able to protect the copyright protected mediacontent by, in one embodiment, instructing the media content devicedriver 225, via switch 221, to suppress waveform input operations.Moreover, in some cases, the CCM 100 may also instruct media contentdevice 230, via switch 231, to suppress waveform output operations suchas digital output 235.

Thus, in one embodiment, controlled media content directed for renderingat the OS media content subsystem 215 will first pass securely from thesecure CCM-enabled playback/recording application 205 to the mediacontent filter driver 220 and then remain secure during rendering by CCM100.

In one embodiment, requests for non-secure media content traffic wouldalso be controlled by media content library 212 utilizing the newpathway 213. However, in another embodiment, requests for non-securemedia content traffic may pass directly from the CCM-enabledplayback/recording application 205 to the OS media content subsystem 215via the commonly used pathway 207. When passing the media contentdirectly from the CCM-enabled playback/recording application 205 to theOS media content subsystem 215 via the commonly used pathway 207, themedia content would be susceptible to system hook 285 and recordingapplication 290. Of course, since the media content utilizing thecommonly used pathway 207 is uncontrolled, utilizing the system hook 285in an attempt to obtain a subversive copy of the media content would beimmaterial since the media content may be legally copied.

In another embodiment, for media content devices 230 that support“standard” streaming at the kernel level, the OS media content subsystem215 may issue a request to the media content device 230 for each blockof data to be read for a capture operation. In one embodiment, if themedia content is controlled, the CCM 100 can intercept each request,such as at switch 221 and control the content in the data buffer that isreturned to the OS media content subsystem 215. As stated herein, theCCM 100 control can include (but is not necessarily limited to) themuting of the waveform data, and the introduction of distortion into themedia content stream.

For media content devices 230 that either support “looped” streaming orthe WaveRT port type, the OS media content subsystem 215 may issue oneor more requests at the start of the capture operation to either providethe location of the application-specific media content buffer to be usedfor the operation or obtain the address of the driver-provided capturebuffer. The OS media content subsystem 215 will then pass data directlyto the recording application 290 using these buffers, and thus the CCM100 will be unable to monitor the data stream during the captureoperation. In one embodiment, to prevent unauthorized recording formedia content devices 230 supporting these techniques, the CCM 100 willinstruct the media content device 230 to stop the capture operation atswitch 221 and/or switch 231. If the recording application 290 or OSmedia content subsystem 215 attempts to subsequently restart thecapture, the CCM 100 will detect the restart request and prevent therequest from being serviced by the media content device 230.

For the purpose of clarification, “standard” streaming is the techniquewhere multiple data buffers are used to stream audio data, with thekernel acting upon one buffer at a time. “Looped” streaming uses asingle shared buffer, with the client and the kernel acting upondifferent regions within the buffer. “WaveRT” uses a mechanism similarto looped streaming, except that the buffer is allocated and managed bythe audio device rather than the kernel.

As described herein, the CCM 100 will monitor the system 200 forunauthorized capture operations. Upon detection of such operations, CCM100 can respond by continuing to allow playback of secure media contentdata while controlling media content capture, or to control the playbackof the media content data. This control can include (but is notnecessarily limited to) the muting of waveform input or output, and theintroduction of distortion into the media content stream.

Thus, by utilizing the technology described herein, that is, the securedelivery of copyright protected media content via the media contentlibrary 212 using the user mode new pathway 213 and the CCM 100,unsecure OS media content subsystem 215 is bypassed and the mediacontent is passed to lower level media content components, such as mediacontent filter driver 220, protected by the CCM 100. Then, when thecopyright protected media content is then passed from the media contentfilter driver 220 to the OS media content subsystem 215 for rendering,it is already protected by the CCM 100 and the previously utilizeddirect sound pirate system hook 285 will no longer be able to access themedia content.

In other words, the copyright protected media content remains in asecure environment the entire time it is on the computer system 200.Because the computer system 200 provides a secure environment for thecopyright protected media content, in one embodiment no additionalmeasures, such as encryption, or the like on any or all of the copyrightprotected media content are necessary for ensuring copyright compliance.

SCMS Security Thread Embedding

A media content provider, such as a media content web broadcaster, thatprovides a large database of media content, such as but not limited tosound recordings, may transmit large volumes of copyrighted mediacontent and may be required to pay large amounts of royalty fees. System300 includes a system 305, a device 340 and a copyright royalty paymentcontroller 380. The system 305 includes a frame-based media contentdatabase 310, a copyright and playback management information embedor320, a unique identifier embedor 325 and an encoder 330.

Frame Based Security Thread Embedding

The system 305 facilitates copyright revenue generation by facilitatingin the ensuring of appropriate payment of entitled copyright royalties.In one embodiment, the system 305 is a web broadcaster that broadcastsmedia content via the Internet. It should be appreciated that the mediacontent is any frame-based media content 307 which is stored in aframe-based media content database 310. In one embodiment, theframe-based media content 307 are MPEG-1 Audio Layer 3 (MP3) filesintrinsically associated with an accompanying series of related images.

In one embodiment, the system 305 facilitates the ensuring ofappropriate payment of entitled copyright royalties of copyright worksby introducing technological measures to the a copyright protectedframe-based media content 307 by way of copyright and playbackmanagement information embedor 320. In another embodiment, the system305 facilitates the ensuring of appropriate payment of entitledcopyright royalties of copyright works by introducing technologicalmeasures to the copyright protected frame-based media content 307 by wayof unique identifier embedor 325.

It should be appreciated that the copyright and playback managementinformation can be but is not limited to a SCMS. SCMS is a scheme toprotect copyrights of digital productions by preventing data from beingrepeatedly copied. SCMS is built into a media content appliance whichhas a function to create a copy of digital data, such as an MP3 file.The media content appliance with the SCMS built into it can prevent afirst-generation copy recorded by the user from being copied again. Inother words, the SCMS prevents a second or higher generation copy frombeing created.

Copyright and playback management information embedor 320 embedscopyright and playback management information within frame-based mediacontent 307. It should be appreciated that the copyright and playbackmanagement information is any information related to the managementand/or the enforcement of copyright protection associated with acopyright protected work. In various embodiments, the copyright andplayback management information can be but is not limited to the numberof copies allowed of the frame-based media content, the number of copiesallowed of the frame-based media content, version number of theframe-based media content or no copies allowed, rules for subsequentcopies and the like, as well as the number of plays allowed of theframe-based media content and the types of devices that are allowed toplay the media content.

In one embodiment, the copyright management information indicates whichmachine, product and/or company the copyright protected work came fromand/or is allowed to be played back on. It should also be appreciatedthat the copyright management information may be forensics relatedinformation, such as but not limited to tracking information. Further,in one embodiment, the copyright management information is an expirationdate(s) associated with the copyright protected work.

It should be appreciated that the copyright and playback managementinformation embedor 320 embeds copyright and playback managementinformation within at least one data field of the frame-based mediacontent 307. In one embodiment, the data field is an application-privatebit of a MP3 file. Typically, MP3 files are segmented into thousands offrames. For example, a three to five minute song can have approximately8,000 to 12,000 frames. Each frame contains a fraction of a second'sworth of audio data. At the beginning of every data frame is a headerframe which stores 32 bits of meta-data related to the coming dataframe. The MP3 header begins with a sync block that consists of 11 bits.The sync block allows players to search for and lock onto the firstavailable occurrence of a valid frame. Following the sync block are aplurality of other header blocks that facilitate in the proper decodingand subsequent playing of the MP3 file. One of the other header blocksis the application-private bit, which allows for application-specifictriggers. For example, if there are 8,000 frames in an MP3 file, thereis a private bit corresponding to each frame for a total of 8,000private bits.

In one embodiment, the copyright and playback management information isa multiple bit data structure using the application-private bits in theMP3 frame headers across consecutive audio frames. For example, if thecopyright and playback management information contains 32 bits, theneach bit is stored in 32 consecutive application-private bits incorresponding 32 consecutive frames. In particular, the first bit of thecopyright and playback management information is stored in theapplication-private bit of the header for the first audio frame. Thesecond bit of the copyright and playback management information isstored in the application-private bit of the second audio frame and soon until all the data in the copyright and playback managementinformation is stored in consecutive frames.

Further, the sequence of bits associated with the copyright and playbackmanagement information data block is continuously repeated throughoutthe entire audio file. Once the entire data block has been encoded, thefirst bit of the copyright and playback management information datablock is stored in the application-private bit of the header for thenext frame within the MP3 file. Accordingly, the playback application isable to detect the copyright and playback management information for theaudio file irrespective of the starting position within the file fromwhich the playback was initiated. For example, if the MP3 file has 8,000frames and a corresponding 8,000 application private bits, then acopyright and playback management information data block of 32 bits isinitially stored in the first 32 consecutive application-private bitsand repeatedly stored in consecutive application-private bits, for atotal of 250 consecutive and repeated instances of the copyright andplayback management information data block stored in the entire MP3file.

In one embodiment, the copyright and playback management information(CMI) is a 32-bit data structure having the following format. It shouldbe appreciated that the 32-bit data structure is a SCMS data structureused to encode playback rights information in addition to copy controlinformation. For example, a copyright holder may choose to allow aparticular work to be played freely a certain number of times beforerequiring a license key or other access mechanism.

Elements of the 32-bit data structure are shown in Table 1:

Offset Description  0 First byte of CMI, set a fixed value to facilitatedetection by a playback or secure copy/playback application  8 Secondbyte of CMI, set to fixed value to facilitate detection by a playback orsecure copy application 16 Version number of CMI (three binary bits) 19Flag indicating copying not allowed for media content file 20 If bit atoffset 19 is not set, number of copies allowed for file (up to a maximumof 15). A value binary 0000 indicates that the file may be freelycopied. 24 Number of plays allowed for file (up to a maximum of 255). Ifthis field is set to binary 00000000, the file can be freely played.

Additional security is available by using an encryption mechanism.Specifically, an encoder generates one or more sequences of data bytesto be used as keys for the encoding of the media content data for thefile. The key sequences can be derived from a cryptographically securedigest taken across all or part of the data for the file. Thus, the keysequences are most likely different for each media content file.

The key sequences that are used for the encryption for all or part ofthe SCMS data block are unique to each copyright protected work. The keysequences can be generated using data from the copyright protected work.Thus the SCMS data block can be used to help ensure the integrity andauthenticity of the copyright protected work.

It should be appreciated that to allow playback devices to more easilydetect the presence of copyright and playback management information,the two marker bytes for each copyright and playback managementinformation data block can be left unencoded.

In one embodiment, system 305 facilitates in the ensuring of appropriatepayment of entitled copyright royalties of the copyright protectedframe-based media content 307 by adding technological measures to theframe-based media content via unique identifier embedor 325. Uniqueidentifier embedor 325 embeds at least one unique identifier into aframe-based media content file. In one embodiment, the at least oneunique identifier is invariant and is embedded into metadata, such asbut not limited to an ID3V2 tag. Further, in one embodiment, at leastone unique identifier may be a valid copyright registration number fromthe United States Copyright Office associated with copyright protectedframe-based media content 307. In another embodiment, at least twocopyright registration numbers are embedded into ID3V2 tags of an MP3file.

System 305 encodes the frame-based media content subsequent to thecopyright and playback management information embedor 320 embeddingcopyright and playback management information into the frame-based mediacontent 307 and/or the unique identifier embedor 325 embedding at leastone unique identifier into the frame-based media content 307.

Transcoding can be performed on a frame-based media content that resultsin frameless media content. For example, an MP3 file can be transcodedinto another format (e.g., way, AC3), such that it loses its frames,header, footer and as a result all that is left are the payloads. In aframeless media content file, the copyright and playback information canbe encoded by selecting a certain frequency not usually perceived by thelistener and then changing its value to reflect the copyright andplayback information data. For example, if a low frequency is selectedand sampled, such that there is a guaranteed match on a significantpattern, the copyright and playback information can be further read forcopyright and playback rules.

Media content device 340 includes a decoder 350 that decodes the encodedframe-based media content 309, copyright and playback managementinformation manager 360, unique identifier verifier 365 and royaltypayment ensurer 370. Copyright and playback management informationmanager 360 manages the frame-based media content 307 according to thecopyright and playback information that is embedded into the frame-basedmedia content.

Unique identifier verifier 365 verifies that the at least one uniqueidentifier embedded in the decoded frame-based media content is the sameunique at least one unique identifier that was embedded into theframe-based media content 307. In one embodiment, unique identifierverifier 365 verifies that the two copyright registration numbersassociated with the MP3 file embedded in the ID3V2 tags of an MP3 fileare the same two copyright registration numbers associated with the MP3file embedded in the ID3V2 tags subsequent decoding of the MP3 file inthe device 340. It should be appreciated that if the unique identifierverifier 365 determines that the at least one unique identifier decodedat device 340 is the same as the at least one unique identifier that wasembedded into the frame-based media content 307, then it helps determinethat the decoded frame-based media content 307 has not been tamperedwith and is not a counterfeit. It should also be appreciated that theID3V2 tags are metadata in the MP3 frame headers, as described above.

In one embodiment, the royalty payment ensurer 370 facilitates inensuring appropriate payment of entitled copyright royalties of thecopyright protected frame-based work 307 based at least in part on theembedded copyright and playback management information. In anotherembodiment, the royalty payment ensurer 370 facilitates in ensuringappropriate payment of entitled copyright royalties of the copyrightprotected frame-based work 307 based at least in part on the embedded atleast one unique identifier. Typically, the copyright owner of acopyright protected work is entitled to copyright royalties upon thetransmission of a frame-based media content 307. Based at least in partupon the output of the copyright management information manager 360 andthe unique identifier verifier 366, the copyright owner of theframe-based media content is ensured appropriate payment of entitledroyalties.

The copyright royalty payment controller 380 receives information fromthe device 340 and pays the copyright owner of the copyright protectedwork for the use of the copyright protected work accordingly. It shouldbe appreciated that the copyright royalty payment controller 380 can bebut is not limited to a performing rights organization (e.g., TheAmerican Society of Composers, Authors and Publishers, Broadcast Music,Inc., SESAC, Inc. and SoundExchange) and/or mechanical rights agency(e.g., Harry Fox Agency and Canadian Mechanical Rights ReproductionAgency).

The following description is another example of copyright and playbackmanagement information (CMI) in a 24-bit data structure having thefollowing format. It should be appreciated that portions of the 24-bitdata structure and portions of the similar 32-bit data structure may beinterchanged, modified, otherwise utilized in an SCMS data structureused to encode playback rights information in addition to copy controlinformation.

Elements of the 24-bit data structure are shown in Table 2:

Offset Description  0 First byte of SCMS marker, set to binary 10111011(0xBB).  8 Second byte of SCMS marker, set to binary 01011100 (0x5C). 16Version number for marker, set to binary 01 (Version 1). 18 Reserved,must be set to binary 0. 19 Flag indicating copying not allowed foraudio file. 20 If bit at offset 19 is not set, number of copies allowedfor audio file (up to a maximum of 15). A value of binary 0000 indicatesthat the file may be freely copied. If bit at offset 19 is set, thisfield is reserved, and must be set to binary 0000.

Implementation for MP3 Audio Files

This SCMS data structure may be stored using the application-private bitin the MP3 frame header across consecutive audio frames. That is, thefirst bit of SCMS data may be stored in the application-private bit ofthe header for the first audio frame, the second bit in theapplication-private bit of the header for the second audio frame, and soon.

The sequence of bits associated with the SCMS data block may be repeatedcontinuously throughout the entire audio file. That is, once the entiredata block has been encoded, the first bit of the SCMS data may bestored in the application-private bit of the header for the next MP3frame within the file. Thus it would be possible for a playbackapplication to detect the SCMS information for the audio fileirrespective of the starting position within the file from whichplayback was initiated.

Implementation for CD Media

In one embodiment, the SCMS data structure may be stored using the “S”subchannel bit in the control byte across consecutive sections within agiven data track on the disc. That is, the first bit of SCMS data may bestored in the “S” subchannel bit for the first section, the second bitin the “S” subchannel bit for the second section, etc.

The sequence of bits associated with the SCMS data block may be repeatedcontinuously throughout the entire data track. That is, once the entiredata block has been encoded, the first bit of the SCMS data may bestored in the “S” subchannel bit for the next section within the file.Thus it would be possible for a playback application to detect the SCMSinformation for the data track irrespective of the starting positionwithin the track from which reading or playback was initiated.

In addition, it would be possible to specify different SCMS data fordifferent data tracks on the disc. For example, for an audio CD, thiscould allow the ability to specify one or more tracks that can be freelycopied, while retaining protection for the remaining tracks on the disc.

Implementation for DVD Media

The SCMS data structure may be stored using the six-byte CPR_MAI fieldwithin the data frames for the disc. For protected files on the disc, inone embodiment, the first byte of the CPR_MAI field may have thefollowing structure:

Field Value CPM Set to 0x1 to indicate presence of copyrighted materialCP_SEC Set to 0x1 to indicate copyright protection required. CGMS Set to0x11 to indicate no copies allowed for file. CP_MOD Set to 0x1011 (“B”)to indicate presence of MRT-specific SCMS information for file.

The next three bytes (bytes 1 through 3) of the CPR_MAI field wouldcontain the three-byte SCMS data block. The final two bytes (bytes 4 and5) would be reserved, and have a value of zero.

In one embodiment, since the SCMS data would be encoded into every dataframe for the file in question, it would be possible for a playbackapplication to detect the SCMS information for the audio fileirrespective of the starting position within the file from whichplayback was initiated.

In addition, it would be possible to specify different SCMS data fordifferent files on the disc. For example, for a video DVD containingmultiple movies, this could allow the ability to specify one or moremovies that can be freely copied, while retaining protection for theremaining movies on the disc.

Lightweight Encryption of SCMS Data

If additional security is required for the SCMS data, it would bepossible to encode the data using an XOR-ADD mechanism. Specifically,the encoder will generate two sequences of data bytes to be used as keysfor the encoding of the audio data for the file. These key sequences maybe derived, for example, from the MD5 hash sequence taken across theaudio tag data for the file (either the MPEG audio tag or the ID3 tag,whichever is present), the table of contents for a CD, or the primaryvolume descriptor for a DVD. Thus the key sequences will most likely bedifferent for each audio file or disc.

The data bytes at even-numbered locations within the buffer for the MD5digest may be concatenated to form the XOR key for the encoding, and thedata bytes at odd-numbered locations may form the ADD key. Thus, in oneembodiment, the sizes of the XOR and ADD keys will be eight bytes.

The encoder will then encode the SCMS data bytes by performing a logicalXOR using the first key sequence (the “XOR key”) followed by anarithmetic addition operation with a byte in the second sequence (the“ADD key”). The playback device will decode the SCMS data by performingan arithmetic subtraction operation using the ADD key, followed by alogical XOR using the XOR key.

Note, in one embodiment, to allow playback devices to more easily detectthe presence of SCMS data, the two marker bytes for each SCMS data blockmay not be encoded.

Stronger Encryption of SCMS Data

If a stronger encryption mechanism is needed for the SCMS data, it wouldbe possible to replace the XOR-ADD mechanism described in the previoussection with a more cryptographically secure algorithm, such asBlowfish. The initial key data would still be constructed from a digestbuilt from the tag data for the file, or from a known data structure fordisc-based media.

The protection of SCMS data can be made even stronger by modifying theencryption algorithm or the key data continuously during the processingof the file. An example of the latter would be where one key sequence isused to encode the header information for a series of MP3 frame headers,an MD5 hash taken across the audio data for those frames, and theresultant hash combined somehow with the previous hash to form a new keysequence for the encryption of the next collection of frames for theaudio file.

However, it should be noted that stronger cryptographic algorithmsimpose the restriction that the data blocks to be processed must havesizes that are multiples of eight bytes or more.

Additional Header Conventions for MRT MP3 Files

By convention, all MP3 files made available for download from theBlueBeat site will have the original media bit and the copyright bit setin the header of each MP3 audio frame for the file.

FIG. 4 is a flowchart illustrating a process 400 for enhancing copyrightrevenue generation. In one embodiment, process 400 is carried out byprocessors and electrical components under the control of computerreadable and computer executable instructions. The computer readable andcomputer executable instructions reside, for example, in a data storagemedium such as computer usable volatile and non-volatile memory.However, the computer readable and computer executable instructions mayreside in any type of computer readable storage medium. In oneembodiment, process 400 is performed at least by system 700 of FIG. 7.

At block 410 of FIG. 4, copyright and playback management information isembedded into at least one data field of the copyright protectedframe-based work. The copyright and playback management informationcorresponds to access to the copyright protected frame-based work. Inone embodiment, at block 411, the copyright and playback managementinformation is embedded into at least one application-private bit of atleast one corresponding frame of a MP3 file. In another embodiment, atblock 412, the copyright and playback management information is embeddedinto a sequence of a plurality of application-private bits. In anotherembodiment, at block 413, the copyright and playback managementinformation is repeatedly and continuously embedded into a sequence of aplurality of application-private bits.

In another embodiment, at least two unique identifiers are embedded intoat least two data fields of the copyright protected frame-based work.The embedding of the at least two unique identifiers corresponding toaccess to the copyright protected frame-based work. For example, the atleast two unique identifiers may be embedded into an ID3V2 tag of atleast one corresponding frame of a MP3 file. In another embodiment, acopyright registration number for an underlining sound recording and/oran underlining composition corresponding to the copyright protectedframe-based work is embedded into the frame-based work.

In yet another embodiment, an audio frequency is selected that is notusually perceived by a listener of the copyright protected work. Thecopyright protected work is a frame-based work that is transcoded to aframeless work. For example, the copyright and playback managementinformation is encoded within the selected audio frequency not usuallyperceived by a listener of the copyright protected work.

At block 414, the copyright and playback management information is aversion number of the work. At block 415, the copyright and playbackmanagement information is no copying allowed of the work. At block 416,the copyright and playback management information is a number of copiesallowed for the work. At block 417, the copyright and playbackmanagement information is a number of plays allowed for the work.

At block 420, the copyright protected frame-based work is encoded. Atblock 430, the encoded copyright protected frame-based work istransmitted. In one embodiment, at block 435, the encoded copyrightprotected frame-based work is transmitted to a device. The devicedecodes the embedded copyright and playback management information tofacilitate in the ensuring appropriate payment of entitled copyrightroyalties of the copyright protected frame-based work. At block 440,appropriate payment of entitled copyright royalties of the copyrightprotected frame-based work is ensured based at least in part on theembedded copyright and playback management information.

Non-Frame Based Security Thread Embedding

On the Internet, most content is being provided by the web page such asWeb page 500 of FIG. 5. The security thread on each page controls theusage for any copyrighted material on the page. For example, there maybe an image 505, sound recording 525, text 515, video recording 535,etc. each may be copyrighted or may not be. Using the technology herein,the security threads on the page would manage the rights for the contentthat is embedded on the page. For example, the text 515 may becopyrighted while the sound 525 is not, but the video 535 may also beprotected. So the security tags will let the SCMS know which isprotected, the level of protection (number of plays limited, restrictionof retransmission, limitations on copying, etc.). Further, the SCMSinformation for each copyrighted media embedded on the page may beprotected by a single set of SCMS instructions, or SCMS instruction foreach media on the page, or a combination thereof. In addition, althougha web page is used as one example, as described herein, the presenttechnology is well suited for utilization with email and the like.

In one embodiment, CCM 100 could be on the user device that is doing thebrowsing; presenting the content, and the like; or it may be a phonehome CCM setup. For example, in a phone home scenario, the user'sdevice, such as the browser or the like, will access a remote server toget permission, authorization etc. In another embodiment, the embeddedmedia on the web page may include a copy of the CCM or a link to the CCMand then could either download the CCM and install it directly on enddevice, or direct the end device to download and install the CCM beforethe media on the web page can be displayed, seen, watched, heard, etc.

One embodiment herein is directed toward photographs, text, e-books, aweb-page, email, etc. Basically, the layout of a page that shows up whenthe page is navigated to or received by a computing device. In so doing,the technology discussed herein may control usage of the page. In otherwords, it does not allow for spurious use of the page or specificcontent thereon. For example, a print page, a copy page, and the like.

With reference now to FIG. 6, a flowchart 600 of a method for utilizinga security thread for protecting copyrighted media content is shown inaccordance with one embodiment of the present invention.

With reference now to 601 of FIG. 6, one embodiment embeds copyright andplayback management information into at least one data field of themedia content. In the following example, the content is not frame based,but instead, it is structured to be HTML compliant, such as, forexample, within the confines of the XML framework. For example, the SCMSreader would scan the HTML data of a loading web page and extract outany of the encoded SCMS data. The SCMS reader would then aggregate theinformation and process it to establish copyright information for themedia on the web page.

Referring now to 605 of FIG. 6, one embodiment encodes the media contentfor a serial copy management system (SCMS) that utilizes the copyrightand playback management information to ensure the appropriate copyrightprotection of the media content based at least in part on the embeddedcopyright and playback management information.

Example implementations of the SCMS security data could be: a series oftags distributed throughout the entire HTML file; a series of customtags in a custom XML namespace; a series of CDATA (HTML comments)formatted similar to the formatting of the security thread of the framebased discussion herein, such that they are structured and can be easilydetected but then are aggregated to determine what your copy or usagerestrictions are for that particular piece of content.

As described herein, one embodiment utilizes the character data (CDATA)construct of the HTML. For example, one embodiment would define a formatthat would be readily recognizable as SCMS content. For example, thefirst part of the comment may be “afafMOMI” which would signal that thecomment is to be extracted and aggregated by the SCMS reader.

In another embodiment, the browser being used may include the SCMSreader. In one embodiment, such a browser would require a custom tagthat included defining a custom XML namespace. In one embodiment, thismethodology may provide visibility to the end user, while CDATA istypically ignored by the browser. In general, the customized name spacealso must be web accessible otherwise the XML parser would not know whatto do with the customized tags.

In another embodiment, there may be actual script embedded within theCDATA. However, since the CDATA is user readable, any script may beencrypted, or otherwise modified, such that it is compliant with thecharacter set of XML (for example UTF8, UTF16, ASCI96, etc.). Inaddition, in one embodiment, any CDATA that includes SCMS data may bestripped after aggregation so that the end user cannot see or access theSCMS CDATA.

For purposes of the present discussion, “encoded in the content” isdifferent than a “re-direct”. For example, during a “re-direct”, a linkis selected and the server looks to see if the user has permission(e.g., a cookie) before the user is allowed to even see the content. Ifthe user does not have the proper permission or cookie, the user isredirected, such as to a login page or the like.

In contrast, the SCMS data “encoded in the content” is acted upondifferently in that the user is already at the page (not redirected).For example, during the loading of the page the SCMS data is read andthe user is able to see all of the webpage, some of the web page, noneof the web page, or the like depending on the SCMS data. In other words,the user is not redirected but is instead presentation of the mediacontent is controlled by the encoded SCMS data acting in conjunctionwith the user's own machine. In other words, in one embodiment “encodedin the content” refers to a local security measure versus a server orremote security “redirect” measure.

In general, a website has a number of pages where each page is similarto a page of a book. An entire website may include a number of pagessuch as contact, home, employment, log-in, help, etc. The presenttechnology protects not just the book (e.g., redirect) but each pagewithin the book. For example, a user may be able to access a website andmay have SCMS permission to view some pages/content, but may not haveSCMS permissions to view other pages/content on a page.

In one embodiment, the present technology does not require encryption,but instead utilizes a generic page and then has the security threadsadded to the page. Thus, no specific encryption or device is required toview the web information. Instead, the embedded data in conjunction withthe SCMS aggregation and guidelines and the CCM will control thedownload, copy, etc.

Referring now to 610 of FIG. 6, one embodiment accesses the mediacontent having copyright and playback management information embeddedinto the at least one data field. In one embodiment, the Internet isutilized to deliver the media content broadcasts. In one embodiment, thedevice accessing the media content may be any type of electronic devicecapable of presenting the media content 307 such as, but not limited to,a computer system, a portable computing device, a mobile phone, PDA, MP3player with video rendering capabilities, a television, a presentationdevice such as a projector, viewer or electronic equipment intrinsicallycoupled with an audio device such as a tape player, digital player,stereo player, and the like.

With reference now to 615 of FIG. 6, one embodiment utilizes the SCMS toreview the copyright and playback management information and ensureappropriate copyright protection of the media content based on theembedded copyright and playback management information.

For example, a user goes to bluebeat.com and navigates to a Celtic musicpage. The page has photos, a write-up about Celtic music, art and/ormedia of some kind In one embodiment, the user may be able to view theweb page, but would not be allowed to copy or steal the information onthe page. Instead, in one embodiment, during an attempt to copy thepage, the embedded SCMS data will only allow a copy of the URL to beobtained.

Thus, a user cannot copy the web page. Instead, all the user can copy isthe URL or any other information that the SCMS provides such as a “notallowed to copy” statement etc. In another embodiment, the user may beable to copy components of the page, but not all of the information (ifdifferent parts of web page have different protection SCMScharacteristics). Therefore, in one embodiment the technology hereinstops a user from copying or extracting information that the webpageowner does not want copied, but lets a user freely access, copy, anddownload unprotected content.

In another example, a web blog may want to have the actual blogprotected from copying, but the comments may be freely copyable. In thiscase, the SCMS data will cause the CCM to allow copying of the commentsbut not of the actual blog writing (the actual author's work).

In one embodiment, if the media content 307 has detectable SCMSinformation, but the information is either corrupt or internallyinconsistent, then the CCM-enabled playback/recording application 205would not allow presentation of the media content.

Email Discussion

In general, the email protection methodology is similar to aboveweb-page discussion. In other words, a user may be able to receive andview an email, but may not be able to forward, copy, etc. The presenttechnology is well suited, for example, in the sending of confidentialemail.

One embodiment of the present technology takes advantage of alreadypresent characteristics for putting the SCMS information in parts ofmulti-part form. For example, one embodiment creates a multi-part form(special MIME type) in the header (one of key value pairs) in message.The body would then be a concatenation of a bunch of differentdocuments. The email will also include a separator string that isuniquely identifiable by the client. The separator string is used toseparate out each individual part. Each part has a separate header thattells you what type of data it is. In the case of something that is SCMSprotected, a custom MIME type would be provided for that purpose. Forexample, “text/x-SCMS” it would contain encoded data. The SCMS reader(on end user device) would take and aggregate that out, go to the nextpart and process it, each time it would find the custom MIME type itwould aggregate the data and then do whatever it needed to do todetermine the rights for that particular email message (e.g., CCM on enduser device, remote server, download CCM to view email, etc.)

In so doing, even if email is sent HTML and received non-HTML the SCMSinformation is transmitted over servers and then downloaded such as viaPOP3 to a user's device, thus even though the email is not shown withthe HTML at the downstream/receiving device, the device would havereceived the SCMS information and the reader would have been able toparse out the SCMS information related to all or a portion of the email.

Thus, one embodiment provides a generic message for files such that thedata can be transmitted without loss of data control, foreign softwareembedding, or the like while email privacy is maintained.

Example Computing System

With reference now to FIG. 7, portions of the technology for providingcomputer-readable and computer-executable instructions that reside, forexample, in or on computer-usable media of a computer system. That is,FIG. 7 illustrates one example of a type of computer that can be used toimplement one embodiment of the present technology.

Although computer system 700 of FIG. 7 is an example of one embodiment,the present technology is well suited for operation on or with a numberof different computer systems including general purpose networkedcomputer systems, embedded computer systems, routers, switches, serverdevices, user devices, various intermediate devices/artifacts,standalone computer systems, mobile phones, personal data assistants,and the like.

In one embodiment, computer system 700 of FIG. 7 includes peripheralcomputer readable media 702 such as, for example, a floppy disk, acompact disc, and the like coupled thereto.

Computer system 700 of FIG. 7 also includes an address/data bus 704 forcommunicating information, and a processor 706A coupled to bus 704 forprocessing information and instructions. In one embodiment, computersystem 700 includes a multi-processor environment in which a pluralityof processors 706A, 706B, and 706C are present. Conversely, computersystem 700 is also well suited to having a single processor such as, forexample, processor 706A. Processors 706A, 706B, and 706C may be any ofvarious types of microprocessors. Computer system 700 also includes datastorage features such as a computer usable volatile memory 708, e.g.random access memory (RAM), coupled to bus 704 for storing informationand instructions for processors 706A, 706B, and 706C.

Computer system 700 also includes computer usable non-volatile memory710, e.g. read only memory (ROM), coupled to bus 704 for storing staticinformation and instructions for processors 706A, 706B, and 706C. Alsopresent in computer system 700 is a data storage unit 712 (e.g., amagnetic or optical disk and disk drive) coupled to bus 704 for storinginformation and instructions. Computer system 700 also includes anoptional alpha-numeric input device 714 including alpha-numeric andfunction keys coupled to bus 704 for communicating information andcommand selections to processor 706A or processors 706A, 706B, and 706C.Computer system 700 also includes an optional cursor control device 716coupled to bus 704 for communicating user input information and commandselections to processor 706A or processors 706A, 706B, and 706C. In oneembodiment, an optional display device 718 is coupled to bus 704 fordisplaying information.

Referring still to FIG. 7, optional display device 718 of FIG. 7 may bea liquid crystal device, cathode ray tube, plasma display device orother display device suitable for creating graphic images andalpha-numeric characters recognizable to a user. Optional cursor controldevice 716 allows the computer user to dynamically signal the movementof a visible symbol (cursor) on a display screen of display device 718.Implementations of cursor control device 716 include a trackball, mouse,touch pad, joystick or special keys on alpha-numeric input device 714capable of signaling movement of a given direction or manner ofdisplacement. Alternatively, in one embodiment, the cursor can bedirected and/or activated via input from alpha-numeric input device 714using special keys and key sequence commands or other means such as, forexample, voice commands.

Computer system 700 also includes an I/O device 720 for couplingcomputer system 700 with external entities. In one embodiment, I/Odevice 720 is a modem for enabling wired or wireless communicationsbetween computer system 700 and an external network such as, but notlimited to, the Internet.

Referring still to FIG. 7, various other components are depicted forcomputer system 700. Specifically, when present, an operating system722, applications 724, modules 726, and data 728 are shown as typicallyresiding in one or some combination of computer usable volatile memory708, e.g. random access memory (RAM), and data storage unit 712.However, in an alternate embodiment, operating system 722 may be storedin another location such as on a network or on a flash drive. Further,operating system 722 may be accessed from a remote location via, forexample, a coupling to the internet.

In one embodiment, the present technology is stored as an application724 or module 726 in memory locations within RAM 708 and memory areaswithin data storage unit 712.

The present technology may be described in the general context ofcomputer-executable instructions stored on computer readable medium thatmay be executed by a computer. However, one embodiment of the presenttechnology may also utilize a distributed computing environment wheretasks are performed remotely by devices linked through a communicationsnetwork.

Although a number of embodiments have been described in terms of music,aspects described herein may be used for any form of media, such asmusic, movies, videos, DVDs, CDs, books, documents, graphics, etc.

It should be further understood that the examples and embodimentspertaining to the systems and methods disclosed herein are not meant tolimit the possible implementations of the present technology. Further,although the subject matter has been described in a language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the Claims.

1. A method of computer-executable instructions stored on computerreadable medium that may be executed by a computer for utilizing asecurity thread for protecting copyrighted media content, said methodcomprising: embedding copyright and playback management information intoat least one data field of said media content; and encoding said mediacontent for a serial copy management system (SCMS) that utilizes saidcopyright and playback management information to ensure said appropriatecopyright protection of said media content based at least in part onsaid embedded copyright and playback management information.
 2. Themethod of claim 1, further comprising: embedding copyright and playbackmanagement information into at least one data field of said mediacontent on a web-page.
 3. The method of claim 1, further comprising:embedding copyright and playback management information into at leastone data field of said media content in an e-mail message.
 4. The methodof claim 1, wherein said embedding comprises: parsing said copyright andplayback management information into a plurality of segments; andembedding said copyright and playback management information segmentsinto a plurality of comment data (CDATA) tags.
 5. The method of claim 4,further comprising: embedding a strip command directing said SCMS tostrip any CDATA that includes said copyright and playback managementinformation segments prior to providing access to said media content. 6.The method of claim 1, wherein said embedding comprises: parsing saidcopyright and playback management information into a plurality ofsegments; and embedding said copyright and playback managementinformation segments into a series of custom tags in a custom XMLnamespace.
 7. The method of claim 1, wherein said embedding comprises:parsing said copyright and playback management information into aplurality of segments; and embedding said copyright and playbackmanagement information segments as a script within a plurality ofcomment data (CDATA) tags.
 8. The method of claim 1 further comprising:embedding a presentation command to said SCMS to allow presenting ofsaid media content only with a copyright compliance mechanism(CCM)-enabled playback/recording/recording application, said CCM-enabledplayback/recording application utilizing a new pathway distinct from acommonly used data pathway of a media content rendering subsystem of anoperating system, such that said media content continuously remains in asecure environment during rendering, playback and recording.
 9. Themethod of claim 8 further comprising: embedding an automatic downloadand install command to said SCMS to download and install said CCM tosaid computing device if no said CCM is present at said computingdevice.
 10. The method of claim 9 further comprising: embedding a remoteserver command to said SCMS to access a remote server having said CCMthereon if no said CCM is present at said computing device.
 11. Themethod of claim 1, wherein said embedding copyright and playbackmanagement information further comprises embedding information selectedfrom the group consisting of: a version number of said media content, ano copying allowed for said media content, a number of copies allowedfor said media content, and a number of plays allowed for said mediacontent.
 12. A method of computer-executable instructions stored oncomputer readable medium that may be executed by a computer forutilizing a security thread for protecting copyrighted media content,said method comprising: accessing media content having copyright andplayback management information embedded into at least one data fieldthereof; and utilizing a serial copy management system (SCMS) to reviewsaid copyright and playback management information and ensureappropriate copyright protection of said media content based on saidembedded copyright and playback management information.
 13. The methodof claim 12, further comprising: accessing said media content at aweb-page.
 14. The method of claim 12, further comprising: accessing saidmedia content in an e-mail message.
 15. The method of claim 12, furthercomprising: accessing media content having copyright and playbackmanagement information embedded in segments in a plurality of commentdata (CDATA) tags; and aggregating the segments of said copyright andplayback management information at said SCMS.
 16. The method of claim15, further comprising: utilizing said SCMS to strip any CDATA thatincludes said copyright and playback management information segmentsafter said aggregating.
 17. The method of claim 12, wherein saidembedding comprises: accessing media content having copyright andplayback management information embedded in segments in a series ofcustom tags in a custom XML namespace; and aggregating the segments ofsaid copyright and playback management information at said SCMS.
 18. Themethod of claim 12, wherein said embedding comprises: accessing mediacontent having copyright and playback management information embedded insegments as a script within a plurality of comment data (CDATA) tags;and aggregating the segments of said copyright and playback managementinformation to provide a complete script at said SCMS.
 19. The method ofclaim 12 further comprising: presenting said media content with acopyright compliance mechanism (CCM)-enabledplayback/recording/recording application, said CCM-enabledplayback/recording application utilizing a new pathway distinct from acommonly used data pathway of a media content rendering subsystem of anoperating system, such that said media content continuously remains in asecure environment during rendering, playback and recording.
 20. Themethod of claim 19 further comprising: automatically downloading andinstalling said CCM to said computing device if said CCM is not presentat said computing device.
 21. The method of claim 19 further comprising:automatically accessing a remote server having said CCM thereon if saidCCM is not present at said computing device.
 22. The method of claim 12further comprising: accessing said media content from a compact disk(CD).
 23. The method of claim 12 further comprising: accessing saidmedia content from a digital versatile disk (DVD).